// https://leetcode-cn.com/problems/partition-to-k-equal-sum-subsets/

class Solution
{
public:
  bool canPartitionKSubsets(vector<int> &nums, int k)
  {
    if (k < 1)
      return false;

    // 1. 求和
    int sum = 0;
    for (auto e in nums)
      sum += e;

    // 2. 如果 sum 无法被 K 整除，则肯定无法划分【k个子数组】
    if (sum % k != 0)
      return false;

    // 3. 每一个子数组的 sum
    sum /= k;

    // 4. 对 nums 从小大大 排序
    sort(nums.begin(), nums.end());
  }
};